Analysis of professional-client interactions

ABSTRACT

One or more processors receive recording data of a meeting between a professional and a client. One or more processors analyze the recording data to make one or more determinations. One or more processors identify one or more characteristics of the professional based on the one or more determinations. One or more processors match the one or more characteristics of the professional to one or more preferences of an individual seeking one or more professionals. One or more processors build a profile of the professional based on the one or more characteristics and store the profile in a database. One or more processors search the database for one or more profiles that provide a match of the one or more preferences of the individual seeking one or more professionals and display the one or more profiles.

BACKGROUND OF THE INVENTION

The present invention relates generally to the field of artificialintelligence (AI), and more particularly to determining characteristicsof individuals through natural language processing (NLP).

AI refers to the intelligence exhibited by machines or software. Thefield of study of AI focuses on the goal of creating intelligence. AI isused for logistics, data mining, medical diagnosis, and many other areasthroughout the technology industry.

NLP is a field of computer science, artificial intelligence, andlinguistics concerned with the interactions between computers and human(natural) languages. As such, NLP is related to the area ofhuman-computer interaction. Many challenges in NLP involve naturallanguage understanding, that is, enabling computers to derive meaningfrom human or natural language input.

SUMMARY

Embodiments of the present invention provide a method, system, andprogram product to analyze professional-client interactions. One or moreprocessors receive recording data of a meeting between a professionaland a client The recording data comprises one or both of: audiorecording data and video recording data, and the recording data isreceived from one or more recording devices deployed in an environmentin which the professional and the client are conversing. One or moreprocessors analyze the recording data to make one or more determinationsof one or more of: an amount of time spent in the meeting, an amount oftime the professional spoke, an amount of time the client spoke, aconversational tone, a word content, a word context, a voice intonation,a voice cadence, a voice lilt, a voice inflection, a voice volume, abody language, and a facial expression. One or more processors identifyone or more characteristics of the professional based on the one or moredeterminations. The one or more characteristics of the professionalcomprises that the professional is one or more of: a good listener,takes time with the client, is direct, uses complicated language,explains a complicated subject matter in layman terms, is talkative, isloud, and is quiet. One or more processors match the one or morecharacteristics of the professional to one or more preferences of anindividual seeking one or more professionals. One or more processorsbuild a profile of the professional based on the one or morecharacteristics. One or more processors store the profile of theprofessional in a database. One or more processors query the individualseeking one or more professionals for the one or more preferences of theindividual seeking one or more professionals. One or more processorssearch the database for one or more profiles that provide a match of theone or more preferences of the individual seeking one or moreprofessionals. One or more processors display the one or more profilesthat match the one or more preferences of the individual seeking one ormore professionals.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a functional block diagram illustrating an NLP and analysisenvironment, in accordance with an exemplary embodiment of the presentinvention.

FIG. 2 illustrates operational processes for analyzing recording data tomatch professionals with clients, in accordance with an exemplaryembodiment of the present invention.

FIG. 3 illustrates operational processes for analyzing recording data toidentify characteristics of a professional, in accordance with anexemplary embodiment of the present invention.

FIG. 4 illustrates operational processes for building a professionalprofile, in accordance with an exemplary embodiment of the presentinvention.

FIG. 5 illustrates operational processes for matching a professionalwith a client, in accordance with an exemplary embodiment of the presentinvention.

FIG. 6 depicts a block diagram of components of the computing devices ofFIG. 1 executing the programs of FIG. 1, in accordance with an exemplaryembodiment of the present invention.

DETAILED DESCRIPTION

Embodiments of the present invention recognize that unstructured dataconcerning characteristics of professionals is challenging for thepublic to obtain. Embodiments of the present invention provide systems,methods, and computer program products for analyzing recording data toidentify characteristics of professionals, and later use the identifiedinformation to match clients with professionals whose characteristicsare likely to result in a satisfying professional relationship. The term“characteristics,” as used herein, refers generally to qualities of anindividual and can include, for example, whether the professional is agood listener, takes his or her time with a client, is direct and to thepoint, uses complicated language or explains complicated subject matterso that a layman can understand, etc.

There are numerous sources available for retrieving hard data aboutindividuals who provide professional services to the public. Hard dataincludes structured information about a professional, such aseducational background, public disputes, litigation, unprocessedcomments posted on message boards by the public, etc. Individuals thatprovide professional services to the public (i.e., professionals)typically form lasting relationships with the public as a component ofthe services they provide (e.g., doctors, lawyers, financialconsultants, etc.) Much publicly accessible hard data does not provide asearching client with the ability to ascertain whether he or she willpersonally enjoy interacting with a potential professional. For example,some members of the public may want their doctor to take a significantamount of time listening to them when they go for a check-up. Otherindividuals may rather have a doctor that is quick and business-like forroutine appointments. In these examples, unstructured data, such asbedside manner, is challenging to ascertain, yet many individualsconsider such personal interactions with their doctor to be an importantcomponent of the doctor-patient relationship.

Relationships that are considered important are not limited todoctor-patient relationships. For example, lawyers and financialconsultants often form long-lasting relationships with their clients. Infact, members of the public may consider a lawyer-client or financialadvisor-client relationship to be at least as important as therelationships they have with their doctors. In the context of thiswriting, an important professional-client relationship is anyprofessional-client relationship that is important enough to the clientto warrant, for example, a search of available databases prior toapproaching the professional.

The present invention will now be described in detail with reference tothe Figures.

FIG. 1 is a functional block diagram illustrating an NLP and analysisenvironment, generally designated 100, in accordance with an exemplaryembodiment of the present invention. NLP and analysis environment 100includes computing device 102, which is connected to recording device(s)104. In this embodiment, NLP and analysis environment 100 also includescomputing device 108 and computing device 114. In addition, computingdevices 102, 108, and 114 are connected over network 118.

In various embodiments of the present invention, computing devices 102,108, and 114 are computing devices that can be standalone devices,servers, laptop computers, tablet computers, netbook computers, personalcomputers (PCs), or desktop computers. In various embodiments, computingdevices 102, 108, and 114 represent a computing system utilizingclustered computers and components to act as a single pool of seamlessresources. In other embodiments, computing devices 102, 108, and 114represent one or more computing devices. In general, computing devices102, 108, and 114 can be any one computing device or a combination ofdevices with either remote or non-remote access to recording device(s)104, recording data 107, professional database 112, and clientpreference data 117. Computing devices 102, 108, and 114 may includeinternal and external hardware components, as depicted and described infurther detail with respect to FIG. 6.

In this exemplary embodiment, computing device 102 is connected (e.g.,using one or more wired or wireless connections) to recording device(s)104, and includes recording analysis program 106 and recording data 107.Recording analysis program 106 receives audio and/or audio-video data,collectively recording data 107, recorded by recording device(s) 104.Recording device(s) 104 can include, but are not limited to, analog anddigital microphones and video recorders. In this exemplary embodiment,recording data 107 includes audio and/or audio-video data recordedduring a meeting between two or more consenting individuals, including aprofessional and a client. For example, with full disclosure and consentfrom all parties, recording device(s) 104 can be deployed in aprofessional's office to capture professional-client discussions. Inthis exemplary embodiment, recording analysis program 106 can analyzerecording data 107 to generate data about characteristics of theprofessional(s) in the meeting. Recording analysis program 106 can alsogenerate data about characteristics of the client(s). In variousembodiments, recording analysis program 106 pre-processes recording data107 obtained from recording device(s) 104 to remove extraneous data(e.g., ambient noise, or, where only audio is desired, extraneous videodata). In some embodiments, recording analysis program 106 parsesrecording data 107 to break down a dialogue between a professional andclient into its constituent components. Recording analysis program 106analyzes content of the parsed recording data 107. The analysis of thecontent provides insight into the characteristics of the professionalwhen interacting with the client. Recording analysis program 106transmits the identified characteristics data of the professional to PPBprogram 110.

Computing device 108 includes professional profile building (PPB)program 110 and professional database 112. In this exemplary embodiment,PPB program 110 receives data about characteristics of professionalsgenerated by recording analysis program 106, and uses that data to buildprofiles for those professionals, which are stored in professionaldatabase 112. In some embodiments, PPB program 110 searches for andacquires additional data about professionals to be added to profilessuch as educational backgrounds of the professionals, public disputesassociated with the professionals, litigation involving theprofessionals, and comments posted on message boards by the public.Professional database 112 can be implemented with any desirable databasearchitecture known in the art, such as a relational database, anobject-oriented database, and/or one or more tables. In variousembodiments of the present invention, professional database 112 can behosted by computing device 108 and/or on one or more remote computingsystems accessible via network 118.

Computing device 114 includes matching analysis program 116 and clientpreference data 117. In this exemplary embodiment, matching analysisprogram 116 matches one or more individuals that have provided clientpreference data 117 with the profiles of one or more professionals thatare stored in professional database 112. In various embodiments,matching analysis program 116 provides a guided questionnaire to aclient in order to obtain client preference data 117. Matching analysisprogram 116 searches professional database 112 for professional profilesthat match the client preferences in client preference data 117.Matching analysis program 116 outputs one or more professional profilesfrom professional database 112 that match the client preferences inclient preference data 117 within a given threshold. In variousembodiments, the output professional profiles are ranked by how closelythey match the client preferences in client preference data 117. In thismanner, matching analysis program 116 can help potential clients findprofessionals with whom they are most compatible or with whom they aremost likely to otherwise have satisfying client-professionalrelationships.

Network 118 can be, for example, a local area network (LAN), a wide areanetwork (WAN) such as the Internet, or a combination of the two, and mayinclude wired, wireless, fiber optic or any other connection known inthe art. In general, network 118 can be any combination of connectionsand protocols that will support communications between one or morecomputing devices connected to recording device(s) 104 and containingrecording analysis program 106, recording data 107, PPB program 110,professional database 112, matching analysis program 116, and clientpreference data 117, in accordance with a desired embodiment of thepresent invention.

FIG. 2 illustrates operational processes 200 for analyzing recordingdata to match professionals with clients, in accordance with anexemplary embodiment of the present invention.

In step 202, recording analysis program 106 receives recording data 107from recording device(s) 104. In various embodiments, recording data 107is one or both of audio and video data. In various embodiments,recording data 107 is received by recording analysis program 106 as adigital file such as a WAV, MP3, MOV, or AVI file. In other embodiments,recording analysis program 106 receives recording data 107 as analogdata and converts the analog data to digital data. In variousembodiments, recording device(s) 104 are deployed in an environment inwhich one or more individuals are conversing so as to captureconversation between those individuals. For example, recording device(s)104 may be deployed in a medical office to record a conversation betweena doctor and a patient. In another example, recording device(s) 104 maydeployed in a legal office to record a conversation between a lawyer anda client. In other embodiments, recording data 107 received from othersources. For example, audio and/or audio-video data can be recordedusing other devices, apart from recording device(s) 104, and loaded ontocomputing device 102. In all cases, full disclosure and consent of allparties is obtained.

In step 204, recording analysis program 106 analyzes recording data 107to identify characteristics of a professional when interacting with aclient. Examples of characteristics that can be identified include, butare not limited to, whether the professional is one or more of: a goodlistener, talkative, loud, quiet, a person who speaks in simple languageor uses complex terms, a person who takes time with the client or movesquickly and thereby potentially saves time, etc. In various embodiments,recording analysis program 106 identifies characteristics of theprofessional by analyzing content in recording data 107, such as one ormore of: what individual words were used, word context, voiceinflection, body language, facial expressions, volume of speech, voicetone, etc.

In step 206, PPB program 110 builds or adds to a profile for theprofessional whose characteristics have been identified by recordinganalysis program 106. PPB program 110 builds a profile for theprofessional if no profile yet exists for that professional. Otherwise,each additional analysis by recording analysis program 106 for the sameprofessional is used to augment the existing profile of thatprofessional. Publicly accessible hard data for the professional isoptionally added and the profile for the professional is stored inprofessional database 112. These professional profiles may be compiledbased on analysis of recording data 107 obtained from a few or many(e.g., hundreds, thousands, etc.) professional-client meetings. Forexample, entire networks of professionals and clients may agree toprovide such data to improve professional-client matching.

In step 208, matching analysis program 116 receives client preferencedata 117. In various embodiments, matching analysis program 116 uses aguided questionnaire to obtain client preference data 117. In someembodiments, the client answers as many or as few questions as he or shewishes with the understanding that the more questions that are answered,the higher the likelihood that the client will be provided with one ormore profiles of professionals with whom they are compatible.

In step 210, matching analysis program 116 uses the client preferencedata 117 to search professional database 112 for the closestprofessional profile matches based on a given threshold limit. Matchinganalysis program 116 sorts the one or more profiles and provides thesorted profiles to the client.

FIG. 3 illustrates operational processes 300 for analyzing recordingdata to identify characteristics of a professional, in accordance withan exemplary embodiment of the present invention. For example,operational processes 300 can be performed at step 204 of FIG. 2.

In step 302, recording analysis program 106 pre-processes and parsesrecording data 107. In various embodiments, recording analysis program106 removes unneeded data from recording data 107 during pre-processing.For example, ambient background noise can be removed, leaving only thesound of voices. If recording data 107 includes video data, andrecording analysis program 106 analyzes gestures of the participants ina meeting in an office, unnecessary data may include surroundinginanimate objects, such as office furniture. Similarly, if recordingdata 107 includes audio-video data and only audio data is desired, videodata can be stripped out. In various embodiments, recording analysisprogram 106 performs speech recognition process during step 302, wherebyspoken words are identified in recording data 107 and are converted totext.

In various embodiments, recording analysis program 106 extracts otherinformation from recording data 107. Tasks performed during informationextraction can include, for example, named-entity recognition (NER). NERinvolves locating and classifying elements in text into pre-definedcategories such as the names of persons, organizations, locations,expressions of times, quantities, monetary values, percentages, etc.Once NER has been accomplished, the relationships between the entitiescan be determined, e.g., a building-location relationship is EmpireState Building-New York City.

Recording analysis program 106 can also perform information extractiontasks such as part-of-speech tagging in which individual words areidentified as nouns, verbs, adjectives, prepositions, adverbs, etc.Recording analysis program 106 also parses recording data 107, whichtypically involves breaking down generated text strings into componentparts of speech with an explanation of the form, function, and syntacticrelationship of each part.

In step 304, recording analysis program 106 identifies content of thepre-processed and parsed recording data 107 that is indicative ofcharacteristics of the professional. In this exemplary embodiment, suchcontent includes, but is not limited to, one or more of: i) the amountof time the professional spent with the client; ii) the amount of timethe client spoke and the professional listened; iii) the amount of timethe professional spoke and the client listened; iv) the conversationaltone in terms of words used by one or both of the professional andclient; v) the intellectual level of the professional's vocabulary; vi)the intonation, cadence, lilt, and/or inflection of one or both of theprofessional's voice and the client's voice; vii) the volume of one orboth of the professional's voice and the client's voice; viii) the bodylanguage of one or both of the professional and client (i.e., whererecording data 107 includes video); and ix) the facial expressions ofone or both of the professional and client (i.e., where recording data107 includes video). The content analyzed in step 304 provides insightinto the characteristics of the professional that are of interest topotential clients searching for a professional.

In step 306, recording analysis program 106 analyzes the identifiedcontent to identify characteristics of the professional. For example, ifa professional spends more time with clients on average than otherprofessionals in the same field of endeavor typically do, then theprofessional may be appealing to potential clients searching for aprofessional who takes his or her time with a client. Alternatively,professional-searching clients who prefer quick appointments may not beinterested in a professional who spends a large amount of time inappointments. If a professional spends a larger than average amount oftime listening to clients speak, then the professional may appeal toprofessional-searching clients who seek a professional who is a goodlistener. On the other hand, such clients may be less satisfied with aprofessional who spends a larger than average amount of time speaking toclients, as opposed to listening to clients.

A professional typically conveys a certain conversational tone,depending on the words used in meetings with clients. In variousembodiments, recording analysis program 106 analyzes the vocabulary usedby a professional to determine the type of conversational tone theprofessional prefers. In various embodiments, recording analysis program106 assigns the conversational tone to the professional for matchingwith potential clients. For example, clients who appreciate humor in aprofessional-client relationship may enjoy interacting with aprofessional who uses words with a light-hearted conversational tone. Onthe other hand, clients who seek a formal, serious relationship with aprofessional may ideally seek a professional who uses words conveying aformal, serious conversational tone. In various embodiments, recordinganalysis program 106 also analyzes the intellectual level of aprofessional's vocabulary when conversing with clients, and determinesthe extent to which the professional uses layman's terms. In variousembodiments, recording analysis program 106 assigns the vocabularyintellectual level to the professional for matching with potentialclients. For example, clients who have very little knowledge of aprofessional's field may want the professional to describe a topic inbasic terms. Then again, clients who have an above-average knowledge ofa professional's field may want the professional to describe a topic inmore advanced terms. Data sources for terms and phrases used byrecording analysis program 106 to parse recording data and identifycharacteristics of the professional, as discussed above, can be compiledmanually and/or using libraries (e.g., commercial libraries) of suchterms and phrases.

The intonation, cadence, lilt, and inflection of one or both of theprofessional's voice and the client's voice can also provide indicationsof the mood of the conversation and, hence, provide insight into thepersonality of the professional. In various embodiments, recordinganalysis program 106 analyzes the intonation, cadence, lilt, andinflection of one or both of a professional's voice and a client'svoice, and includes these factors when characterizing the professional'spersonality. For example, clients seeking a professional who is quietand laid-back may not enjoy interacting with a professional who has arapid cadence, strong intonation, and strong inflection. On the otherhand, clients who appreciate a take-charge professional may have moresatisfying interactions with a professional who has such cadence,intonation, and inflection. The voice volume of one or both of aprofessional and a client during a meeting can also provide an idea ofthe mood or tone of the meeting. A loud or soft voice volume can also bean inherent characteristic of a professional. In various embodiments,recording analysis program 106 analyzes the voice volume of one or bothof a professional and a client when they are in a meeting. Recordinganalysis program 106 includes the voice volume as a characteristic ofthe professional. For example, clients who prefer soft-spokenconversation may not enjoy interacting with a professional who has aloud voice. In contrast, clients who struggle to hear a soft voice mayprefer a professional who has a clear, loud voice.

The body language of both a professional and a client can also provideinsight into characteristics of a professional, such as theprofessional's demeanor. In various embodiments, where recorded data 107includes video data, recording analysis program 106 analyzes the bodylanguage of one or both of the professional and the client when they arein a meeting. Recording analysis program 106 includes the results of theanalysis to identify what kind of demeanor the professional exhibits.For example, clients who like a non-assertive demeanor in a professionalmay prefer a professional whose body language is not intimidating, ordoes not cause a client's body language to show intimidation. On theother hand, clients who like a strong, assertive demeanor in aprofessional may prefer a professional whose body language reflectsthose qualities.

In step 308, recording analysis program 106 transmits thecharacteristics identified in step 306 to PPB program 110.

FIG. 4 illustrates operational processes 400 for building a professionalprofile, in accordance with an exemplary embodiment of the presentinvention. For example, operational processes 400 can be performed atstep 206 of FIG. 2.

In step 402, PPB program 110 receives identified characteristics of aprofessional from recording analysis program 106.

In step 404, PPB program 110 associates (i.e., assigns) a uniqueidentifier to the characteristics received for a particularprofessional. In one embodiment, the unique identifier is the name ofthe professional. In another embodiment, the unique identifier is someother identifier, which can be alphabetical, numeric, alphanumeric, orsome other string of characters uniquely identifying the characteristicsas belonging to the professional.

In step 406, PPB program 110 optionally receives external data toinclude in the professional's profile. In one embodiment, the externaldata includes hard data on the professional, such as educationalbackground, public disputes, litigation, comments posted on messageboards by the public, etc. In another embodiment, the external dataincludes unstructured data obtained via NLP analysis of data obtainedfrom, for example, social network sites where the professional has beenidentified as a subject of a conversation. In this embodiment, recordinganalysis program 106 searches for unstructured data and performs NLP asdiscussed with respect to processing of recording data 107.

In step 408, PPB program 110 builds or adds to a professional profilefor the professional, based on the data processed by recording analysisprogram 106, any external hard data, and any external unstructured dataprocessed by recording analysis program 106.

In step 410, PPB program 110 stores the professional profile for theprofessional in professional database 112.

FIG. 5 illustrates detailed operational processes 500 for matching aprofessional with a client, in accordance with an exemplary embodimentof the present invention. For example, operational processes 500 can beperformed at steps 208 and 210 of FIG. 2.

In step 502, matching analysis program 116 provides a guidedquestionnaire to a client in order to obtain client data that can beused to search professional database 112 for one or more best matchingprofessionals for that client. In one embodiment, matching analysisprogram 116 asks questions that provide a searching client with theability to answer the questions with various degrees of agreement (e.g.,any desired ordinal scale). For example, the questions or statements inthe guided questionnaire may be answered by selecting one of thefollowing: i) disagree; ii) somewhat disagree; iii) neutral; iv)somewhat agree; and v) agree. An example of a statement in the guidedquestionnaire for a patient searching for a doctor is: “I prefer adoctor who takes his or her time during my visit.” The answers as shownabove are given a score by matching analysis program 116. For example,the selections shown above are given a numeric value between −2 and 2,e.g., disagree=−2, somewhat disagree=−1, neutral=0, somewhat agree =1,and agree=2. In one embodiment, the client answering the guidedquestionnaire can terminate the questionnaire at any point of theirchoosing, and matching analysis program 116 will use whatever data wascollected to search professional database 112 for one or more bestmatching professionals.

In step 504, matching analysis program 116 receives client preferencedata 117. In one embodiment, client preference data 117 includes one ormore scores that fit certain categories. For example, the individualsearching for a doctor in the example above may select “agree,” andmatching analysis program 116 adds +2 to a category indicating apreference for long doctor visits. In various embodiments, clientpreference data 117 includes one or more categories that matchcategories that are present for professionals in professional database112. The one or more categories are given weight by scores given to themby the client who fills out answers in the guided questionnaire. Usingthe patient-doctor example above, categories with larger positivenumbers indicate increasing importance for the characteristic inherentto that category. Thus, a large positive number in a category that showsa preference for long doctor visits indicates that a searching, would-bepatient considers that as an important characteristic and quality indoctors.

In step 506, matching analysis program 116 identifies one or morecompatible professionals by matching client preference data 117 toprofessional profiles within professional database 112. In variousembodiments, the professional profiles in professional database 112contain weighted categories of various characteristics of theprofessionals described in the profiles. By filling out the guidedquestionnaire in step 502, the searching client adds weight to one ormore categories within client preference data 117, the categories beingidentical to the categories found in the professional profiles. In oneembodiment, matching analysis program 116 ranks the categories in clientpreference data 117 and searches for professional profiles inprofessional database 112 that rank those categories similarly, if notidentically. In another embodiment, matching analysis program 116selects a subset of the categories within client preference data 117,the subset of categories being the most highly weighted by the client.Matching analysis program 116 searches for profiles within professionaldatabase, wherein the same subset of categories are also the most highlyweighted.

In step 508, matching analysis program 116 outputs one or moreprofessional profiles to the client. In this exemplary embodiment,matching analysis program 116 outputs one or more professional profilesthat most closely match the client's preferences, as delineated inclient preference data 117. When two or more profiles closely match theclient's preferences as indicated in client preference data 117,matching analysis program 116 provides a ranked list of professionalprofiles to the client. One with ordinary skill in the art wouldrecognize that there are a several methods for ranking profiles, hence,further discussion of methods in which professional profiles may beranked will not be addressed here.

FIG. 6 depicts a block diagram of a computer system 600, which isrepresentative of the computer systems of FIG. 1, in accordance with anillustrative embodiment of the present invention. It should beappreciated that FIG. 6 provides only an illustration of oneimplementation and does not imply any limitations with regard to theenvironments in which different embodiments may be implemented. Manymodifications to the depicted environment may be made.

Computer system 600 includes communications fabric 602, which providescommunications between computer processor(s) 604, memory 606, persistentstorage 608, communications unit 610, and input/output (I/O)interface(s) 612. Communications fabric 602 can be implemented with anyarchitecture designed for passing data and/or control informationbetween processors (such as microprocessors, communications and networkprocessors, etc.), system memory, peripheral devices, and any otherhardware components within a system. For example, communications fabric602 can be implemented with one or more buses.

Memory 606 and persistent storage 608 are computer-readable storagemedia. In this embodiment, memory 606 includes random access memory(RAM) 614 and cache memory 616. In general, memory 606 can include anysuitable volatile or non-volatile computer-readable storage media.

Software/data 609 (e.g., recording analysis program 106, recording data107, PPB program 110, professional database 112, matching analysisprogram 116, and/or client preference data 117) are stored in persistentstorage 608 for execution and/or access by one or more of the respectivecomputer processors 604 via one or more memories of memory 606. In thisembodiment, persistent storage 608 includes a magnetic hard disk drive.Alternatively, or in addition to a magnetic hard disk drive, persistentstorage 608 can include a solid state hard drive, a semiconductorstorage device, read-only memory (ROM), erasable programmable read-onlymemory (EPROM), flash memory, or any other computer-readable storagemedia that is capable of storing program instructions or digitalinformation.

The media used by persistent storage 608 may also be removable. Forexample, a removable hard drive may be used for persistent storage 608.Other examples include optical and magnetic disks, thumb drives, andsmart cards that are inserted into a drive for transfer onto anothercomputer-readable storage medium that is also part of persistent storage608.

Communications unit 610, in these examples, provides for communicationswith other data processing systems or devices, including resources ofnetwork 118. In these examples, communications unit 610 includes one ormore network interface cards. Communications unit 610 may providecommunications through the use of either or both physical and wirelesscommunications links. Software/data 609 may be downloaded to persistentstorage 608 through communications unit 610.

I/O interface(s) 612 allows for input and output of data with otherdevices that may be connected to computing devices 102, 108, and 114.For example, I/O interface 612 may provide a connection to externaldevices 618 such as a keyboard, keypad, a touch screen, and/or someother suitable input device, e.g., recording device(s) 104. Externaldevices 618 can also include portable computer-readable storage mediasuch as, for example, thumb drives, portable optical or magnetic disks,and memory cards. Software and data used to practice embodiments of thepresent invention (e.g., recording analysis program 106, recording data107, PPB program 110, professional database 112, matching analysisprogram 116, and client preference data 117) can be stored on suchportable computer-readable storage media and can be loaded ontopersistent storage 608 via I/O interface(s) 612. I/O interface(s) 612also connect to a display 620.

Display 620 provides a mechanism to display data to a user and may be,for example, a computer monitor, or a television screen.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The programs described herein are identified based upon the applicationfor which they are implemented in a specific embodiment of theinvention. However, it should be appreciated that any particular programnomenclature herein is used merely for convenience, and thus theinvention should not be limited to use solely in any specificapplication identified and/or implied by such nomenclature.

It is to be noted that the term(s) such as “Smalltalk” and the like maybe subject to trademark rights in various jurisdictions throughout theworld and are used here only in reference to the products or servicesproperly denominated by the marks to the extent that such trademarkrights may exist.

What is claimed is:
 1. A method comprising: receiving, by one or moreprocessors, recording data of a meeting between a professional and aclient, wherein the recording data includes audio recording data andvideo recording data, and the recording data is received from one ormore recording devices deployed in an environment in which theprofessional and the client are conversing; analyzing, by the one ormore computer processors, the recording data to make one or moredeterminations of: an amount of time spent in the meeting, an amount oftime the professional spoke, an amount of time the client spoke, aconversational tone, a word content, a word context, a voice intonation,a voice cadence, a voice lilt, a voice inflection, a voice volume, abody language, and a facial expression; identifying, by the one or morecomputer processors, one or more characteristics of the professionalbased on the one or more determinations, wherein the one or morecharacteristics of the professional comprises that the professional: isa good listener, takes time with the client, is direct, uses complicatedlanguage, explains a complicated subject matter in layman terms, istalkative, is loud, and is quiet; matching, by the one or moreprocessors, the one or more characteristics of the professional to oneor more preferences of an individual seeking one or more professionals;building, by the one or more processors, a profile of the professionalbased on the one or more characteristics; storing, by the one or moreprocessors, the profile of the professional in a database; querying, bythe one or more processors, the individual seeking one or moreprofessionals for the one or more preferences of the individual seekingone or more professionals; searching, by the one or more processors, thedatabase for one or more profiles that provide a match of the one ormore preferences of the individual seeking one or more professionals;and displaying, by the one or more processors, the one or more profilesthat match the one or more preferences of the individual seeking one ormore professionals.